﻿using System;
using Telerik.Sitefinity.Social.Contracts;

namespace Telerik.Sitefinity.Social.Model
{
    /// <summary>
    /// Represents a message sent from one person to another
    /// </summary>
    [Telerik.OpenAccess.Persistent]
    public class Message : IMessage
    {
        /// <summary>
        /// Gets or sets the id.
        /// </summary>
        /// <value>The id.</value>
        public Guid Id
        {
            get { return this.id; }
            set { this.id = value; }
        }

        /// <summary>
        /// Gets or sets the title.
        /// </summary>
        /// <value>The title.</value>
        public string Title
        {
            get { return this.title; }
            set { this.title = value; }
        }

        /// <summary>
        /// Gets or sets the content.
        /// </summary>
        /// <value>The content.</value>
        public string Content
        {
            get { return this.content; }
            set { this.content = value; }
        }

        /// <summary>
        /// Gets or sets the sender username.
        /// </summary>
        /// <value>The sender username.</value>
        public string SenderUsername
        {
            get { return this.senderUsername; }
            set { this.senderUsername = value; }
        }

        /// <summary>
        /// Gets or sets the recipient username.
        /// </summary>
        /// <value>The recipient username.</value>
        public string RecipientUsername
        {
            get { return this.recipientUsername; }
            set { this.recipientUsername = value; }
        }

        /// <summary>
        /// Gets or sets the date sent.
        /// </summary>
        /// <value>The date sent.</value>
        public DateTime DateSent
        {
            get { return this.dateSent; }
            set { this.dateSent = value; }
        }

        private Guid id;
        private string title;
        private string content;
        private DateTime dateSent;
        private string senderUsername;
        private string recipientUsername;
    }
}
